﻿Public Class ProductoBE
    Public Enum TipoProducto
        Producto
        Servicio
        Kits
    End Enum

    Public Enum StatusProducto
        Activo
        Inactivo
    End Enum

    Public Enum CalculosProducto
        Normal
        PrecioUnitario
        Cantidad
    End Enum

    Public Enum EsProducto
        Ninguno
        Inmueble
        Importado
        IEDU
    End Enum

    Private _IdProducto As Integer
    Public Property IdProducto() As Integer
        Get
            Return _IdProducto
        End Get
        Set(ByVal value As Integer)
            _IdProducto = value
        End Set
    End Property

    Private _Clave As String
    Public Property Clave() As String
        Get
            Return _Clave
        End Get
        Set(ByVal value As String)
            _Clave = value
        End Set
    End Property

    Private _Tipo As TipoProducto
    Public Property Tipo() As TipoProducto
        Get
            Return _Tipo
        End Get
        Set(ByVal value As TipoProducto)
            _Tipo = value
        End Set
    End Property

    Private _Status As StatusProducto
    Public Property Status() As StatusProducto
        Get
            Return _Status
        End Get
        Set(ByVal value As StatusProducto)
            _Status = value
        End Set
    End Property

    Private _Nombre As String
    Public Property Nombre() As String
        Get
            Return _Nombre
        End Get
        Set(ByVal value As String)
            _Nombre = value
        End Set
    End Property

    Private _Descripcion As String
    Public Property Descripcion() As String
        Get
            Return _Descripcion
        End Get
        Set(ByVal value As String)
            _Descripcion = value
        End Set
    End Property

    Private _Observaciones As String
    Public Property Observaciones() As String
        Get
            Return _Observaciones
        End Get
        Set(ByVal value As String)
            _Observaciones = value
        End Set
    End Property

    Private _UdeM As UdeMBE
    Public Property UdeM() As UdeMBE
        Get
            Return _UdeM
        End Get
        Set(ByVal value As UdeMBE)
            _UdeM = value
        End Set
    End Property

    Private _DesglosaPrecio As Boolean
    Public Property DesglosaPrecio() As Boolean
        Get
            Return _DesglosaPrecio
        End Get
        Set(ByVal value As Boolean)
            _DesglosaPrecio = value
        End Set
    End Property

    Private _ManoObra As Decimal
    Public Property ManoObra() As Decimal
        Get
            Return _ManoObra
        End Get
        Set(ByVal value As Decimal)
            _ManoObra = value
        End Set
    End Property

    Private _Refacciones As Decimal
    Public Property Refacciones() As Decimal
        Get
            Return _Refacciones
        End Get
        Set(ByVal value As Decimal)
            _Refacciones = value
        End Set
    End Property

    Private _PrecioUnitario As Decimal
    Public Property PrecioUnitario() As Decimal
        Get
            Return _PrecioUnitario
        End Get
        Set(ByVal value As Decimal)
            _PrecioUnitario = value
        End Set
    End Property

    Private _Calculos As CalculosProducto
    Public Property Calculos() As CalculosProducto
        Get
            Return _Calculos
        End Get
        Set(ByVal value As CalculosProducto)
            _Calculos = value
        End Set
    End Property

    Private _TipoIVA As Enumeraciones.tiposIVA
    Public Property TipoIVA() As Enumeraciones.tiposIVA
        Get
            Return _TipoIVA
        End Get
        Set(ByVal value As Enumeraciones.tiposIVA)
            _TipoIVA = value
        End Set
    End Property

    Private _TipoBaseIVA As Enumeraciones.tipoBaseParaIVA
    Public Property TipoBaseIVA() As Enumeraciones.tipoBaseParaIVA
        Get
            Return _TipoBaseIVA
        End Get
        Set(ByVal value As Enumeraciones.tipoBaseParaIVA)
            _TipoBaseIVA = value
        End Set
    End Property

    Private _PorcentajeBaseIVA As Decimal
    Public Property PorcentajeBaseIVA() As Decimal
        Get
            Return _PorcentajeBaseIVA
        End Get
        Set(ByVal value As Decimal)
            _PorcentajeBaseIVA = value
        End Set
    End Property

    Private _MontoBaseIVA As Decimal
    Public Property MontoBaseIVA() As Decimal
        Get
            Return _MontoBaseIVA
        End Get
        Set(ByVal value As Decimal)
            _MontoBaseIVA = value
        End Set
    End Property

    Private _AplicaIEPS As Enumeraciones.tipoAplicacionIEPS
    Public Property AplicaIEPS() As Enumeraciones.tipoAplicacionIEPS
        Get
            Return _AplicaIEPS
        End Get
        Set(ByVal value As Enumeraciones.tipoAplicacionIEPS)
            _AplicaIEPS = value
        End Set
    End Property

    Private _IEPSAfectaIVA As Boolean
    Public Property IEPSAfectaIVA() As Boolean
        Get
            Return _IEPSAfectaIVA
        End Get
        Set(ByVal value As Boolean)
            _IEPSAfectaIVA = value
        End Set
    End Property

    Private _TasaIEPS As Decimal
    Public Property TasaIEPS() As Decimal
        Get
            Return _TasaIEPS
        End Get
        Set(ByVal value As Decimal)
            _TasaIEPS = value
        End Set
    End Property

    Private _CuotaIEPS As Decimal
    Public Property CuotaIEPS() As Decimal
        Get
            Return _CuotaIEPS
        End Get
        Set(ByVal value As Decimal)
            _CuotaIEPS = value
        End Set
    End Property

    Private _AplicaIVARET As Boolean
    Public Property AplicaIVARET() As Boolean
        Get
            Return _AplicaIVARET
        End Get
        Set(ByVal value As Boolean)
            _AplicaIVARET = value
        End Set
    End Property

    Private _TasaIVARET As Decimal
    Public Property TasaIVARET() As Decimal
        Get
            Return _TasaIVARET
        End Get
        Set(ByVal value As Decimal)
            _TasaIVARET = value
        End Set
    End Property

    Private _AplicaISR As Boolean
    Public Property AplicaISR() As Boolean
        Get
            Return _AplicaISR
        End Get
        Set(ByVal value As Boolean)
            _AplicaISR = value
        End Set
    End Property

    Private _TasaISR As Decimal
    Public Property TasaISR() As Decimal
        Get
            Return _TasaISR
        End Get
        Set(ByVal value As Decimal)
            _TasaISR = value
        End Set
    End Property

    Private _Es As EsProducto
    Public Property Es() As EsProducto
        Get
            Return _Es
        End Get
        Set(ByVal value As EsProducto)
            _Es = value
        End Set
    End Property

    Private _Predial As String
    Public Property Predial() As String
        Get
            Return _Predial
        End Get
        Set(ByVal value As String)
            _Predial = value
        End Set
    End Property

    Private _CodigoBarras As String
    Public Property CodigoBarras() As String
        Get
            Return _CodigoBarras
        End Get
        Set(ByVal value As String)
            _CodigoBarras = value
        End Set
    End Property

    Private _Imagen As Byte()
    Public Property Imagen() As Byte()
        Get
            Return _Imagen
        End Get
        Set(ByVal value As Byte())
            _Imagen = value
        End Set
    End Property

End Class
